﻿package com.riatimes.util
{
	import de.polygonal.ds.SLinkedList;
	
	/**
	 * 链表
	 * @author Nick Wong
	 */
	public class LinkedList extends SLinkedList
	{
		
		public function LinkedList() 
		{
			
		}
		
		/**
		 *移除最后一个元素，并返回值
		 * @return 
		 * 
		 */		
		public function removeLast():*
        {
            var data:Object= null;
            if (tail != null)
            {
                data = tail.data;
                super.removeTail();
            }
            return data;
        }

		/**
		 *移除第一个元素，并返回值 
		 * @return 
		 * 
		 */		
        public function removeFirst():*
        {
            var data:Object= null;
            if (head != null)
            {
                data = head.data;
                super.removeHead();
            }
            return data;
        }
		
		/**
		 *添加元素到最前 
		 * @param args
		 * 
		 */		
        public function addFirst(...args) : void
        {
            super.prepend(args);
        }

		/**
		 *添加元素到最后 
		 * @param args
		 * 
		 */		
        public function addLast(...args) : void
        {
            super.append(args);
        }
		
	}
	
}